package com.ruoyi.insurance.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 保险合同对象 insurance_contract
 * 
 * @author ruoyi
 * @date 2024-09-09
 */
public class InsuranceContract extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 保单号 */
    @Excel(name = "保单号")
    private String contractNumber;

    /** 保险公司名字 */
    @Excel(name = "保险公司名字")
    private String applicantName;

    /** 投保公司三合一码 */
    @Excel(name = "投保公司三合一码")
    private String applicantCompany;

    /** 投保公司规模 */
    @Excel(name = "投保公司规模")
    private Long companySize;

    /** 保险公司三合一码 */
    @Excel(name = "保险公司三合一码")
    private String insuranceCompanyOrganization;

    /** 签订日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签订日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signDate;

    /** 生效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date effectDate;

    /** 到期日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到期日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deadlineTime;

    /** 投保金额 */
    @Excel(name = "投保金额")
    private Long insuranceMoney;

    /** 合同状态 */
    @Excel(name = "合同状态")
    private Long contractCondition;

    /** 具体的合同地址 */
    private String contractVirtualAddress;

    /** 索赔记录信息 */
    private List<ClaimRecord> claimRecordList;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setContractNumber(String contractNumber) 
    {
        this.contractNumber = contractNumber;
    }

    public String getContractNumber() 
    {
        return contractNumber;
    }
    public void setApplicantName(String applicantName) 
    {
        this.applicantName = applicantName;
    }

    public String getApplicantName() 
    {
        return applicantName;
    }
    public void setApplicantCompany(String applicantCompany) 
    {
        this.applicantCompany = applicantCompany;
    }

    public String getApplicantCompany() 
    {
        return applicantCompany;
    }
    public void setCompanySize(Long companySize) 
    {
        this.companySize = companySize;
    }

    public Long getCompanySize() 
    {
        return companySize;
    }
    public void setInsuranceCompanyOrganization(String insuranceCompanyOrganization) 
    {
        this.insuranceCompanyOrganization = insuranceCompanyOrganization;
    }

    public String getInsuranceCompanyOrganization() 
    {
        return insuranceCompanyOrganization;
    }
    public void setSignDate(Date signDate) 
    {
        this.signDate = signDate;
    }

    public Date getSignDate() 
    {
        return signDate;
    }
    public void setEffectDate(Date effectDate) 
    {
        this.effectDate = effectDate;
    }

    public Date getEffectDate() 
    {
        return effectDate;
    }
    public void setDeadlineTime(Date deadlineTime) 
    {
        this.deadlineTime = deadlineTime;
    }

    public Date getDeadlineTime() 
    {
        return deadlineTime;
    }
    public void setInsuranceMoney(Long insuranceMoney) 
    {
        this.insuranceMoney = insuranceMoney;
    }

    public Long getInsuranceMoney() 
    {
        return insuranceMoney;
    }
    public void setContractCondition(Long contractCondition) 
    {
        this.contractCondition = contractCondition;
    }

    public Long getContractCondition() 
    {
        return contractCondition;
    }
    public void setContractVirtualAddress(String contractVirtualAddress) 
    {
        this.contractVirtualAddress = contractVirtualAddress;
    }

    public String getContractVirtualAddress() 
    {
        return contractVirtualAddress;
    }

    public List<ClaimRecord> getClaimRecordList()
    {
        return claimRecordList;
    }

    public void setClaimRecordList(List<ClaimRecord> claimRecordList)
    {
        this.claimRecordList = claimRecordList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("contractNumber", getContractNumber())
            .append("applicantName", getApplicantName())
            .append("applicantCompany", getApplicantCompany())
            .append("companySize", getCompanySize())
            .append("insuranceCompanyOrganization", getInsuranceCompanyOrganization())
            .append("signDate", getSignDate())
            .append("effectDate", getEffectDate())
            .append("deadlineTime", getDeadlineTime())
            .append("insuranceMoney", getInsuranceMoney())
            .append("contractCondition", getContractCondition())
            .append("contractVirtualAddress", getContractVirtualAddress())
            .append("claimRecordList", getClaimRecordList())
            .toString();
    }
}
